home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-05-24 | 1.0 KB | 50 lines | [TEXT/CWIE] |
- //Copyright (c) 1997 Aidan Cully
- //All rights reserved
-
- #ifndef __LISTS_H
- #define __LISTS_H
-
- #include <Types.h>
-
- //class TList
- // uses:
- // Used to keep track of a lot of data elements
- // theory:
- // Uses a "Present element" which says which element I'm performing operations on now.
- // This is fairly clumsy, I hope to redo it at some point, but a lot of code relies on it
- // now, and I don't enjoy major rewrites (no matter how much it looks like I do :-).
- template <class T>
- class TData
- {
- public:
- TData( T );
- TData *mPrev, *mNext;
- T mData;
- Boolean AddNext( T );
- Boolean AddPrev( T );
- };
-
- template <class T>
- class TList
- {
- protected:
- TData<T> *mNode;
- public:
- TList();
- virtual ~TList();
- virtual Boolean MoveFirst();
- virtual Boolean MoveLast();
- virtual Boolean MoveNext();
- virtual Boolean MovePrev();
- virtual Boolean GetData( T& );
- virtual Boolean SetData( T );
- virtual Boolean GoToElem( SInt16 );
- virtual SInt16 FindIndex( T );
- virtual Boolean AddPrev( T );
- virtual Boolean AddNext( T );
- virtual Boolean Remove();
- };
-
- #include "Lists.cpp"
-
- #endif